In digital telecommunication systems supporting speech transmission, a speech signal is usually subjected to the following two coding operations: speech coding and channel coding.
Speech coding includes speech encoding carried out in a transmitter, performed by a speech encoder, and speech decoding carried out in a receiver, performed by a speech decoder. The speech encoder provided in the transmitter compresses a speech signal by employing a suitable speech coding method which takes into account the special characteristics of the speech in such a manner that the number of bits used for presenting the speech per time unit decreases, whereby the transmission capacity needed for transmitting the speech signal also decreases. The coded speech is presented in the form of speech coding parameters representing the characteristics of the speech. The speech signal transmitted over the transmission path consists of these speech coding parameters in special speech frames. The speech decoder provided in the receiver performs an inverse operation and synthesizes the speech signal on the basis of the speech coding parameters produced by the speech encoder. For instance the pan-European mobile communication system GSM (Global System for Mobile Communications) employs RPE-LTP (Regular Pulse Excitation--Long Term Prediction) speech coding, which utilizes both long and short term prediction. The coding produces LAR, RPE and LTP parameters for speech transmission.
In digital telecommunication systems which transmit speech, transmission errors occur on the transmission path, such errors deteriorating the quality of a speech signal in the receiver. Channel coding includes channel encoding carried out in the transmitter and channel decoding carried out in the receiver. The purpose of channel coding is to protect transmitted speech coding bits (parameters) from errors occurring on the transmission channel. By means of channel coding, it is possible either to merely detect whether speech coding bits have been subjected to errors during transmission without a possibility of correcting them, or channel coding may have a capability of correcting errors occurring during transmission, provided that there are fewer errors than a certain maximum number which depends on the channel coding method. The operation of channel coding is based on error check bits added among speech coding bits, such error check bit being also referred to as channel coding bits. Bits produced by the speech encoder of a transmitter are applied to a channel encoder, which adds a number of error check bits to the bits. For instance in the above-mentioned GSM full rate transmission channel, error coding bits the transmission speed of which is 9.8 kbit/s are added to speech coding bits of 13 kbit/s, the total transmission speed of the speech signal on the channel being thus 22.8 kbit/s. The channel decoder decodes the channel encoding in the receiver in such a manner that only the bit stream of 13 kbit/s produced by the speech encoder is applied to the speech decoder. In connection with the channel decoding, the channel decoder detects/corrects the errors occurred on the channel if it is possible.
The significance of speech coding bits as regards the quality of speech usually varies in such a manner that an error of one bit in an important speech coding parameter may cause an audible disturbance in synthesized voice, whereas a greater number of errors in less important bits may be almost imperceptible. The degree of differences in the importance of speech coding bits depends essentially on the speech coding method used, but at least minor differences can be found in most speech coding methods. Due to this, in developing a speech transmission method, channel coding is usually designed with speech coding in such a manner that those bits which are the most important, regarding the quality of speech, are protected better than less important bits. For instance in a full rate traffic channel of the GSM system, bits produced by a speech encoder are divided into three different classes with regard to their importance, the most important class being protected in channel coding both by an error-detecting and an error-correcting code, the second most important class being protected only by an error-correcting or an error-detecting code, and the least important class not being protected at all in channel coding.
In conventional telecommunication systems, erroneous speech frames are usually handled as entities, which means that if such errors are detected in a speech frame received from a transmission channel that channel decoding has not been capable of correcting, the entire speech frame is rejected and the error-free speech frame received last is used by attenuating or suitably extrapolating the speech coding parameters. For instance the GSM system employs one three-bit parity check code, on the basis of which the entire speech frame is classified as erroneous and the processing of erroneous speech frames is started.
FIG. 1 shows a schematic block diagram of a receiver of a telecommunication system transmitting a speech signal. A speech frame 100 received from a transmission channel is applied to a channel decoder 101. The channel decoder 101 provides speech coding parameters 102 according to the speech coding method used and an erroneousness indication 103 for each speech frame. The erroneousness indication 103 provides information concerning whether such an error has been detected in the received speech frame 100 that the channel decoding 101 has not been capable of correcting. The speech coding parameters are further applied to a block 104, in which the parameters are processed. The processing typically includes a system replacing the erroneous speech frames. The processed coding parameters 105 are applied to a speech decoder 106, which synthesizes a speech signal 107 on the basis thereof.
The applicant's previous patent application FII944345 (unpublished on the filing date of the present application) discloses a system according to the block diagram of FIG. 2 for processing coding parameters in the block 104 according to FIG. 1 between the channel decoding 101 and the speech decoding 106. Speech frames 401 arriving from the channel decoder are first analyzed in an error detection block 407. By means of the analysis of the block 407 and the error indications 400 obtained from the channel decoder, a speech frame is classified as erroneous or error-free in a block 410. The block 410 adjusts a switch 408 on the basis of this information, the switch deciding whether the processing block 406 of error-free frames or the replacement block 402 of erroneous frames is to be switched to an output 403. If a speech frame is found to be error-free, the switch 408 is adjusted to a state 2, in which the speech frame is applied as suitably processed via the block 406 to the output 403 and from there further to the speech decoder. If a speech frame is found to be erroneous, the block 410 adjusts the switch 408 to a state 1, the replacement block 402 thus providing the output 403 with the previous speech frame which was received as error-free, as suitably modified. Both the replacement block 402 of defective frames and the processing block 406 of error-free frames can be controlled, if required, according to the quality of the data link connection, defined in a block 409. A block 405 is a delay element, which contains the error-free speech frame received last, on the basis of which the block 402 performs the replacement. The control carried out by the block 406 may take place for instance by means of a state machine structure, of which the state structure according to the GSM specification 06.11 is an example.
An advantage of the present methods is their relative simplicity. Received speech frames are processed as units, and even if the replacement of erroneous speech parameters with error-free parameters and the processing of error-free speech coding parameters are controlled according to the quality of the data link connection, this is done jointly for all the speech coding parameters of a speech frame. Thus, only one replacement procedure is used, for instance one in accordance with the GSM specification 06.11, the replacement procedure controlling the processing of all speech coding parameters, without taking into account that channel coding usually protects different speech coding parameters to a different degree, whereby the distribution and frequency of errors contained by different speech coding parameters may vary. A speech frame may be interpreted as erroneous and replacement/attenuation of the speech coding parameters started if the speech frame contains even one error. The output of the speech decoder may thus be attenuated or silenced altogether only because single protected speech coding parameters are erroneous in a speech frame. However, part of the speech coding parameters of the speech frame may be error-free, the attenuation and replacement being thus also performed on such error-free speech parameters, i.e. they are performed too pessimistically, which causes interruptions in the speech signal and deterioration in the quality of speech. Also, in the processing of the speech coding parameters of error-free speech frames according to a state machine structure, it is possible that some parameters are attenuated too heavily on the basis of errors that have occurred in previous speech frames.
The used error checking information is also often defective or too ineffective. For instance the 3-bit parity check of the GSM system fails to detect many uncorrected transmission errors, which, on the basis of tests performed by the applicant, causes the most intense and unpleasant disturbances in the speech synthesized by the speech decoder.